package com.core.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.core.domain.Permissions;
import com.core.resp.AjaxResponse;
import com.core.resp.PageResult;
import com.core.vo.PermissionVo;

import java.util.List;

/**
 * @author legion
 * @description 针对表【permissions】的数据库操作Service
 * @createDate 2025-06-1 10:44:45
 */
public interface PermissionsService extends IService<Permissions> {

    /**
     * 分页查询数据
     *
     * @param pageSize
     * @param pageNum
     * @param description
     * @return
     */
    PageResult<Permissions> selectPage(Long pageSize, Long pageNum, String description);

    /**
     * 添加权限
     *
     * @param permissions
     * @return
     */
    AjaxResponse addPermission(Permissions permissions);

    /**
     * 删除权限
     *
     * @param ids
     * @return
     */
    AjaxResponse deletePermisson(List<Long> ids);

    /**
     * 修改权限
     * @param permissionVo
     */
    void updateById(PermissionVo permissionVo);

    /**
     * 根据权限名称查询权限
     * @param name 权限名称 (module:operation_type)
     * @return 权限对象，如果找不到则返回null
     */
    Permissions getPermissionByName(String name);
}
